/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pt.iasd.youthshelter.datamodel.service;

import java.util.List;
import org.openide.util.Lookup;
import pt.iasd.youthshelter.datacore.controller.exceptions.IllegalOrphanException;
import pt.iasd.youthshelter.datacore.controller.exceptions.NonexistentEntityException;
import pt.iasd.youthshelter.datamodel.Pathfinder;

/**
 *
 * @author Rui
 */
public interface PathfinderController extends Lookup.Provider {

    void create(Pathfinder pathfinder);

    void destroy(Integer id) throws IllegalOrphanException, NonexistentEntityException;

    void edit(Pathfinder pathfinder) throws IllegalOrphanException, NonexistentEntityException, Exception;

    Pathfinder findPathfinder(Integer id);

    List<Pathfinder> findPathfinderEntities();

    List<Pathfinder> findPathfinderEntities(int maxResults, int firstResult);
    
    List<Pathfinder> findActivePathfinderEntities();
    
    List<Pathfinder> findActivePathfinderEntities(int maxResults, int firstResult);

    int getPathfinderCount();
    
}
